/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package controle;

import java.sql.SQLException;
import javax.inject.Named;
import javax.enterprise.context.RequestScoped;
import modelo.PessoaBO;
import persistencia.PessoaDAO;
import seguranca.Acesso;

/**
 *
 * @author rodrigo
 */
@Named(value = "loginMB")
@RequestScoped
public class loginMB {

    private PessoaBO pessoaBO;
    private PessoaDAO pessoaDAO;
    private Acesso acesso;
    private String mensagem;

    public loginMB() throws SQLException {
        pessoaDAO = new PessoaDAO();
        acesso = new Acesso();
        pessoaBO = carregaUsuario();

    }
    public String logar() throws SQLException {

        if (!pessoaDAO.verificarUsuarioESenha(this.pessoaBO)) {
            mensagem = "Usuário ou senha inválida, tente novamente.";
            return "/login";

        } else {
            mensagem = "";
            this.acesso.inserirUsuarioNaSession(pessoaBO);
            return "visao/Dashbord";

        }

    }

    private PessoaBO carregaUsuario() {

        PessoaBO pessoaBO = this.acesso.carregarUsuarioDaSession();
        if (pessoaBO == null) {
            return new PessoaBO();
        } else {
            return pessoaBO;
        }

    }

    public String logout() {
        this.acesso.excluirUsuarioDaSession();
        return "/login";
    }

    public PessoaBO getPessoaBO() {
        return pessoaBO;
    }

    public void setPessoaBO(PessoaBO pessoaBO) {
        this.pessoaBO = pessoaBO;
    }

    public String getMensagem() {
        return mensagem;
    }

    public void setMensagem(String mensagem) {
        this.mensagem = mensagem;
    }
    
    
}
